As the availability of wireless communications grows, the demand for increased bandwidth and functionality continues to grow along with it. With each passing generation of wireless system, the speed, bandwidth, and reliability of such system increases. One technique that has become popular for increasing the overall performance of wireless systems is the use of multiple antenna. Multiple input, multiple output (MIMO) systems provide for each transmitter and receiver to have multiple antenna. For instance, the receiver has two or more receiver antenna and the transmitter has two or more transmitting antenna. Such MIMO systems have application in several digital communication modulation schemes, such as orthogonal frequency-division multiple access (OFDMA), code division multiple access (CDMA), and the like. Moreover, these systems provide the basis of new generations of wireless local area networks, such as wireless fidelity (Wi-Fi) and broadband wireless access systems such as the worldwide interoperability for microwave access (WiMAX), and the long term evolution (LTE) defined by the 3rd Generation Partnership Project (3GPP).
One of the most popular and promising transmission schemes being used in MIMO systems is spatial multiplexing. Spatial multiplexing is a transmission technique that transmits independent and separately encoded data signals, referred to as “streams,” from each of the multiple transmit antenna. Therefore, the transmission channel space is reused, or multiplexed, repeatedly. The maximum order of spatial multiplexing is limited to the minimum of transmitting or receiving antenna. Thus, while a connection between four transmitting antenna with three receiving antenna produces spatial multiplexing on the order of three, the inverse connection between three transmitting antenna with four receiving antenna also produces a spatial multiplexing order of three. This multiplexing order means that the signal streams may be transmitted in parallel the number of times equivalent to the multiplexing order, leading to a substantial increase of the spectral efficiency (i.e., the number of bits per second and per Herz (Hz) that can be transmitted over the wireless channel).
FIG. 1 is a block diagram illustrating typical MIMO wireless system 10 implemented using spatial multiplexing. Transmitter 100 includes processing block 101 which processes input, In, into bits, b1, b2, . . . bn, for transmission to receiver 102. Quadrature modulators, mod1, mod2, . . . modn, modulate bits, b1, b2, . . . bn, into modulated symbols, x1, x2, . . . xn, for transmission via the transmission antenna array comprising antenna at1, at2, . . . atn. Quadrature modulators, mod1, mod2, . . . modn, perform symbol modulation that results in the in-phase/quadrature (I/Q) portions of each constellation point modulating two carrier signals with a 90 degree phase difference. Examples of quadrature modulation schemes include quadrature amplitude modulation (QAM), quadrature phase-shift keying (QPSK), quadrature amplitude-shift keying (QASK), and the like.
As modulated symbol x is transmitted through antenna at1, each of the antenna, ar1, ar2, . . . arn, of the receiver antenna array receives the received signal, y1, over the particular channel between the antenna. The particular channels are represented by channel matrices, h11, h12, . . . h1n, in which channel matrix hij, is the channel response between transmit antenna atj and receiver antenna ari. The received signals, y1, y2, . . . yn, are represented by the mathematical relationship:
                              (                                                                      y                  1                                                                                                      y                  2                                                                                    …                                                                                      y                  n                                                              )                =                                            (                                                                                          h                      11                                                                                                  h                      12                                                                            …                                                                              h                                              1                        ⁢                        n                                                                                                                                                        h                      21                                                                                                  h                      22                                                                            …                                                                              h                                              2                        ⁢                        n                                                                                                                                  …                                                        …                                                        …                                                        …                                                                                                              h                                              n                        ⁢                                                                                                  ⁢                        1                                                                                                                        h                                              n                        ⁢                                                                                                  ⁢                        2                                                                                                  …                                                                              h                      nm                                                                                  )                        ⁢                          (                                                                                          x                      1                                                                                                                                  x                      2                                                                                                            …                                                                                                              x                      n                                                                                  )                                +                      (                                                                                n                    1                                                                                                                    n                    2                                                                                                …                                                                                                  n                    n                                                                        )                                              (        1        )            Where n1, n2, . . . nn are the additive white Gaussian noise (AWGN) values added by the antenna ar1, ar2, . . . arn, of the receiver antenna array.
At receiver 102, the first step in some types of receivers for recapturing the transmitted bits, b1, b2, . . . bn, from received signals, y1, y2, . . . yn, is to obtain the soft bit output through MIMO detection unit 103. MIMO detection produces the soft bit output, which is equivalent to the log likelihood ratio (LLR) of the bits. Thus, MIMO detection unit 103 produces soft bit outputs LLR(b1) LLR(b2), . . . LLR(bn). Generating this soft bit output in LLR provides optimal detection results for the following decoding stages of receiver 102. Decoder 104 decodes and performs forward error correction (FEC) on the soft bit outputs to recapture bits b1, b2, . . . bn after which cyclic redundancy checker (CRC) 105 performs error checking after which output, O, is generated at processing stage 106. However, it is the MIMO detection process, at MIMO detection unit 103, that typically adds a great deal of complexity to any MIMO system.
Several current methods are used to perform MIMO detection in spatial multiplexing MIMO systems. Receivers that decode or detect symbols in MIMO systems may be considered either optimal or sub-optimal. An optimal receiver guarantees detection of the two distance variables required for calculating the soft bit output, i.e., the LLR of the bits. The soft bit output of any given bit, bi, is determined according to:
                              L          ⁢                                          ⁢          L          ⁢                                          ⁢                      R            ⁡                          (                              b                i                            )                                      =                                            max              x                        ⁢                          (                              log                ⁡                                  (                                      Prob                    ⁡                                          (                                                                        y                          ❘                          x                                                ,                                                                              b                            i                                                    =                          0                                                                    )                                                        )                                            )                                -                                    max              x                        ⁢                          (                              log                ⁡                                  (                                      Prob                    ⁡                                          (                                                                        y                          ❘                          x                                                ,                                                                              b                            i                                                    =                          1                                                                    )                                                        )                                            )                                                          (        2        )            Where x is a vector of a size equal to the number of transmit antenna, y is a vector of a size equal to the number of receiver antenna. As equation (2) illustrates, two terms, each finding a maximal value with respect to all possible combinations of x having a fixed value of bi are required to accurately calculate the soft bit output. One of the terms is calculated for bi=0, the other for bi=1. The two maximal terms are typically calculated using two minimal distance values between y and Hx, where y is the received signal, H is the channel matrix, and x is the transmitted signal, which is represented by a constellation point. Sub-optimal receivers, at most, guarantee to detect or determine only one of the two required distance variables. These sub-optimal techniques generally use estimates based on the determined first distance to calculate the second distance. A true optimal receiver typically examines every possible combination of symbols in each constellation set associated with the modulation schemes used in the transmission. By examining all such possible combinations, the exact two minimal distance variables can be guaranteed, and, using those two variables, the optimal soft bit output is derived. However, as noted above, examination of such a large number of possible combinations, especially in higher ordered modulation rates, raises the computational complexity of the applicable receiver. An example of an optimal receiver is a receiver that performs MIMO detection using the maximal log likelihood ratio (MLLR) method. The MLLR examines all possible combinations of the received symbols. As expected, though, the cost for an optimal solution is high computational complexity.
Many of the existing detection techniques considered practical for real world application are sub-optimal because they simply cannot guarantee detection of both required distance variables, and, as such, cannot produce an optimal solution every time. The difference between many of these existing detection techniques is simply how sub-optimal the detection process is. If the level of reliability will produce enough accurate results on average to meet the quality of service standards for wireless communications, these sub-optimal receivers may be used in the various wireless networks. For example, a receiver using the list sphere decoder (LSD) method produces a sub-optimal result by examining a variable number of symbol combinations that will only guarantee one of the two required distance variables. The second required variable may be selected having only a probability of being the actual second distance variable or may be estimated using one or more estimation algorithms based on the determined first distance. In either method, the second distance variable cannot be guaranteed. The resulting reduction in combinations that are examined greatly simplifies the computational requirements but does so at the cost of detection quality. However, as noted, the LSD technique examines a variable number of symbol combinations. The actual number of combinations examined in the LSD method is influenced by the signal-to-noise ratio (SNR), such that the number of combinations examined increases as the SNR increases. In a worst case scenario, the LSD process may end up examining all possible combinations, just as in the MLLR process. The number of combinations examined are also influenced by how the particular QR factorization and tree parsing/pruning algorithms fit with the time-varying channel characteristics.
Another aspect of computational complexity found in the LSD detection methodology is its use of tree structures to represent constellation signals. LSD represents the constellation points in tree structures to take advantage of known tree search algorithms for calculating the distance measurement. However, the process used simply to parse these tree structures provides a great deal of additional complexity to the receiver.
Somewhere in the middle, between the optimal MLLR and sub-optimal LSD, is the sub-optimal MIMO detection process from Sequans Communications described in U.S. Patent Application Publication Number 2007/0268813 ('813 application), which is incorporated herein by reference. The process described in the '813 application is sub-optimal because it does not examine all possible combinations. It claims to produce an optimal result along the lines of MLLR without all of the computational complexity of MLLR. However, even the described process of the '813 application admittedly sacrifices some optimality in order to reduce computational complexity.